#include "ennemi.h"
#include <stdlib.h>
#include <assert.h>

void InitialiserEnnemi(ENNEMI * ennemi)
{
	ennemi->x=0;
	ennemi->y=0;
	ennemi->vitesseX=0;
	ennemi->vitesseY=0;
	ennemi->type=0;
	ennemi->sprite=0;
	ennemi->compteur = 0;
}

ENNEMI * CreerEnnemi()
{
	ENNEMI * ennemi;
	ennemi = (ENNEMI *) malloc(sizeof(ENNEMI));
	InitialiserEnnemi(ennemi);
	return ennemi;
}

void TestamentEnnemi(ENNEMI ** ennemi)
{
	free(*ennemi);
}

void DeplacementEnnemi(ENNEMI * ennemi)
{
	switch (ennemi->type)
	{
		case '4' :
			break;
		case '7' :
			ennemi->x=ennemi->x+ennemi->vitesseX;
			break;
		default :
			ennemi->x=ennemi->x+ennemi->vitesseX;
			ennemi->y=ennemi->y+ennemi->vitesseY;
			break;
	}
}

int GetXEnnemi(const ENNEMI * ennemi)
{
	return ennemi->x;
}

int GetYEnnemi(const ENNEMI * ennemi)
{
	return ennemi->y;
}

int GetVitesseXEnnemi(const ENNEMI * ennemi)
{
	return ennemi->vitesseX;
}

int GetVitesseYEnnemi(const ENNEMI * ennemi)
{
	return ennemi->vitesseY;
}

char GetTypeEnnemi(const ENNEMI * ennemi)
{
	return ennemi->type;
}

void SetXEnnemi(ENNEMI * ennemi, const int x)
{
	ennemi->x=x;
}

void SetYEnnemi(ENNEMI * ennemi, const int y)
{
	ennemi->y=y;
}

void SetVitesseXEnnemi(ENNEMI * ennemi, const int x)
{
	ennemi->vitesseX=x;
}

void SetVitesseYEnnemi(ENNEMI * ennemi, const int y)
{
	ennemi->vitesseY=y;
}

void AccelereXEnnemi(ENNEMI * ennemi, const int dx)
{
	ennemi->vitesseX=ennemi->vitesseX+dx;
}

void AccelereYEnnemi(ENNEMI * ennemi, const int dy)
{
	ennemi->vitesseY=ennemi->vitesseY+dy;
}

void SetTypeEnnemi(ENNEMI * ennemi, const char n)
{
	ennemi->type=n;
}

int GetSpriteEnnemi(const ENNEMI * ennemi)
{
	return ennemi->sprite;
}

void SetSpriteEnnemi(ENNEMI * ennemi, const int n)
{
	ennemi->sprite=n;
}

int GetCompteurEnnemi(const ENNEMI * ennemi)
{
    assert(ennemi);
    return ennemi->compteur;
}

void SetCompteurEnnemi(ENNEMI * ennemi, const int n)
{
    assert(ennemi);
    ennemi->compteur = n;
}
